<?  
  set_time_limit(4500);
  /* Se asegura que el archivo es incluido por el index */
    defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Personal_cuenta_exe( $this );
    
	class Personal_cuenta_exe extends Exe
	{
	function Personal_cuenta_exe( &$oModule )
		{
			$this->Exe( $oModule );
		}
		// AGREGAR_PERSONALCUENTA
		function insert()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Personal_cuenta_frm' );
			extract( $oForm->getFieldArray() );
			// Busca el siguiente id
			$ncCuenta      = $this->oDatabase->nextKey("atPersonalCuenta", "ncCuenta"  );
			$cMailbox = "{" . $cServidor .  ":" . $nPuerto ;
			if ( $cProtocolo ) $cMailbox .= "/" . $cProtocolo;
			if ( $cSeguridad ) $cMailbox .= "/" . $cSeguridad;
			$cMailbox .= "}";
			$this->oDatabase->insert("atPersonalCuenta"
								,"ncCuenta", $ncCuenta
								,"ncPersona", $ncPersona
								,"ncModoLectura", $ncModoLectura
								,"cUsuario", $cUsuario
								,"cMailbox", $cMailbox
								,"cClave", $cClave
								,"cdCuenta", $cdCuenta);
			$this->setInputData( $ncCuenta, $cdCuenta );
		}
		
		// ELIMINAR_PERSONALCUENTA
		function delete()
		{
			$ncCuenta = getParam( 'ncCuenta' );
			$ncPersona = getParam( 'ncPersona' );
			$this->oDatabase->delete("atPersonalCuenta","ncCuenta", $ncCuenta,"ncPersona", $ncPersona );
		}
		
		// MODIFICAR_PERSONALCUENTA
		function update()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Personal_cuenta_frm' );
			extract( $oForm->getFieldArray() );
			$cMailbox = "{" . $cServidor .  ":" . $nPuerto ;
			if ( $cProtocolo ) $cMailbox .= "/" . $cProtocolo;
			if ( $cSeguridad ) $cMailbox .= "/" . $cSeguridad;
			$cMailbox .= "}";
			$this->oDatabase->update("atPersonalCuenta"
								,"ncModoLectura", $ncModoLectura
								,"cUsuario", $cUsuario
								,"cMailbox", $cMailbox
								,"cClave", $cClave
								,"cdCuenta", $cdCuenta
								,"WHERE"
								 ,"ncCuenta", $ncCuenta
								 ,"ncPersona", $ncPersona);
			$this->setInputData( $ncCuenta, $cdCuenta );
		}
	}
?>